/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package domain.controllers;

import domain.Entity.EntityInforme;
import domain.Entity.EntityUsuario;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import managers.InformeManager;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.view.RedirectView;

/**
 *
 * @author jorge
 */
public class mostrarInformesController implements Controller{
    
    
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        
        InformeManager im = InformeManager.getInstance();
        ModelAndView mav = new ModelAndView();
       HttpSession session = request.getSession();
       EntityUsuario eu = (EntityUsuario) session.getAttribute("usuario");
        if(eu == null){
            mav.setView(new RedirectView("login.htm"));
            return mav;
        }else{
        List informesProyectos = new ArrayList();
        List informesTareas = new ArrayList();
        List informesTrabajadores = new ArrayList();
        
        List informes = (List) im.listarInformes(eu.getDni());
        Iterator it = informes.iterator();
        while(it.hasNext()){
            EntityInforme informe = (EntityInforme) it.next();
            if(informe.getTipo().equals("proyecto")){
                informesProyectos.add(informe);
            }else if(informe.getTipo().equals("tarea")){
                informesTareas.add(informe);
            }else{
                informesTrabajadores.add(informe);
            }
        }
        
        session.setAttribute("informesProyectos", informesProyectos);  
        session.setAttribute("informesTareas", informesTareas); 
        session.setAttribute("informesTrabajadores", informesTrabajadores); 
        
        mav.setView(new RedirectView("misInformes.htm"));
       
        return mav;
        }
    }    
}
